package com.zmm.zebulon.module.trade.biz.convert.delivery;

import com.zmm.zebulon.common.pojo.PageResult;
import com.zmm.zebulon.module.trade.biz.dal.dataobject.delivery.DeliveryExpressDO;
import com.zmm.zebulon.module.trade.biz.dal.vo.delivery.express.AppDeliveryExpressRespVO;
import com.zmm.zebulon.module.trade.biz.dal.vo.delivery.express.DeliveryExpressCreateReqVO;
import com.zmm.zebulon.module.trade.biz.dal.vo.delivery.express.DeliveryExpressExcelVO;
import com.zmm.zebulon.module.trade.biz.dal.vo.delivery.express.DeliveryExpressRespVO;
import com.zmm.zebulon.module.trade.biz.dal.vo.delivery.express.DeliveryExpressSimpleRespVO;
import com.zmm.zebulon.module.trade.biz.dal.vo.delivery.express.DeliveryExpressUpdateReqVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * description: TODO
 *
 * @author zebulon
 * package com.zmm.zebulon.module.trade.biz.convert.delivery
 * name: DeliveryExpressConvert
 * date 2025/8/31 16:18
 */
@Mapper
public interface DeliveryExpressConvert {

    DeliveryExpressConvert INSTANCE = Mappers.getMapper(DeliveryExpressConvert.class);

    DeliveryExpressDO convert(DeliveryExpressCreateReqVO bean);

    DeliveryExpressDO convert(DeliveryExpressUpdateReqVO bean);

    DeliveryExpressRespVO convert(DeliveryExpressDO bean);

    List<DeliveryExpressRespVO> convertList(List<DeliveryExpressDO> list);

    PageResult<DeliveryExpressRespVO> convertPage(PageResult<DeliveryExpressDO> page);

    List<DeliveryExpressExcelVO> convertList02(List<DeliveryExpressDO> list);

    List<DeliveryExpressSimpleRespVO> convertList1(List<DeliveryExpressDO> list);

    List<AppDeliveryExpressRespVO> convertList03(List<DeliveryExpressDO> list);

}
